The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
Data sets of interrelated data may be stored in data structures such as graphs. “Graph,” in this context, is used in the computer science sense, to refer to representations of interconnected data. Graphs are structures used by computer applications to store data and the many relationships between the data. Data stored in graphs are stored within entities, called nodes, and the many relationships between the nodes are represented using connections called edges. For example, a social network may be represented as a graph where user accounts are represented as nodes and their friendships with other users are represented by an edge connecting two nodes.
Graphs of data may become increasingly complex when relationships between different nodes span different levels of hierarchy and different types of nodes. Visually displaying such complex graphs has become increasingly difficult when graphs contain many complex inter-relationships between nodes. Such a problem may result in a visual display that contains too many interrelationships between nodes to be readable. A graph displaying several nodes and edges may result in a user not understanding which nodes have relationships with other nodes.
One solution to a crowded visual display of a complex graph is to display only a subset of the nodes and edges within a graph. However, when displaying subsets of a graph the user may miss crucial relationships or may become lost between several different partial displays. Therefore some form of visual display, which clearly illustrates relationships between nodes and is able to easily be traversed, is needed.